aboutsummaryrefslogtreecommitdiff
path: root/snapshots/[engine:junit-jupiter]/[class:org.shedlang.compiler.shidtopatio.ShidToPatioDefineFunctionTests]/[method:positionalAndNamedParamsAreDefined(org.shedlang.compiler.testing.snapshots.Snapshotter)].expected
blob: d58100c62aed75b3ee1fbe2e84592456bcbc8580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Compilation unit elements:

(
    function-decl
    "shed__runtime__gc_get_root_stack_index"
    params=()
    return-type=int
)
(
    function-decl
    "shed__runtime__int_add"
    params=((param "left" int) (param "right" int))
    return-type=int
)
(
    function-decl
    "shed__runtime__gc_set_root_stack_index"
    params=((param "gc_root_stack_index" int))
    return-type=void
)
(
    function-decl
    "shed__runtime__gc_push_root"
    params=((param "gc_root" int))
    return-type=void
)
(
    function
    "shed__function__f__0"
    visibility=private
    locals=((param "closurePointer__0" data-ptr) (param "local__param1" int) (param "local__param2" int) (param "local__paramA" int) (param "local__paramB" int) (param "local__paramC" int) (val "local__a" int) (val "local__b" int) (val "gcRootStackIndex__0" int) (val "binaryOpResult__0" int) (val "binaryOpResult__1" int))
    return-type=int
    body=(
        (
            memory-load
            (local "local__a")
            pointer=(local "closurePointer__0")
            layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
            element-offsets=(1 2 0)
        )
        (
            memory-load
            (local "local__b")
            pointer=(local "closurePointer__0")
            layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
            element-offsets=(1 2 1)
        )
        (call (local "gcRootStackIndex__0") "shed__runtime__gc_get_root_stack_index" ())
        (call (local "binaryOpResult__0") "shed__runtime__int_add" ((local "local__a") (local "local__param1")))
        (call (local "binaryOpResult__1") "shed__runtime__int_add" ((local "binaryOpResult__0") (local "local__paramA")))
        (call _ "shed__runtime__gc_set_root_stack_index" ((local "gcRootStackIndex__0")))
        (call _ "shed__runtime__gc_push_root" ((local "binaryOpResult__1")))
        (return (local "binaryOpResult__1"))
    )
)
(
    function-decl
    "shed__runtime__gc_alloc"
    params=((param "size" int) (param "runtime_type_tag" int32))
    return-type=data-ptr
)

Locals:
 * (param "local__a" int)
 * (param "local__b" int)
 * (val "closure__f__0" int)
 * (val "closurePointer__f__0" data-ptr)

Instructions:

(
    (call (local "closurePointer__f__0") "shed__runtime__gc_alloc" ((int-const (byte-size-of (struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int)))))))) (int32-const 3)))
    (
        memory-store
        pointer=(local "closurePointer__f__0")
        layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
        element-offsets=(1 2 0)
        value=(int-const 0)
    )
    (
        memory-store
        pointer=(local "closurePointer__f__0")
        layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
        element-offsets=(1 2 1)
        value=(int-const 0)
    )
    (
        memory-store
        pointer=(local "closurePointer__f__0")
        layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
        element-offsets=(1 0)
        value=(function-ptr-const "shed__function__f__0")
    )
    (
        memory-store
        pointer=(local "closurePointer__f__0")
        layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
        element-offsets=(1 2 0)
        value=(local "local__a")
    )
    (
        memory-store
        pointer=(local "closurePointer__f__0")
        layout=(struct ((struct (data-ptr int32 int32)) (struct (function-ptr (struct ()) (struct (int int))))))
        element-offsets=(1 2 1)
        value=(local "local__b")
    )
    (data-ptr-to-int (local "closure__f__0") (local "closurePointer__f__0"))
)

Temporary stack:
 * PatioLocalRef[name=closure__f__0]